/**
 * @author Vitor Franco do Carmo (vfcarmo@gmail.com)
 * @since 04/10/2013
 *
 */
package br.com.vfcfw.test.functional.exemplo;

import org.openqa.selenium.WebElement;
import org.openqa.selenium.support.FindBy;

import br.com.vfcfw.test.BaseTesteFuncional;
import br.com.vfcfw.test.functional.BasePagina;


/**
 * Classe que representa a página home do GUJ.
 * 
 * @author Vitor Franco do Carmo (vfcarmo@gmail.com)
 * @since 04/10/2013
 * 
 */
public class GujHome extends BasePagina {

    @FindBy(xpath = "/html/body/header/section[2]/div[1]/section/nav/ul/li[1]/a")
    private WebElement lnkEntrar;

    /**
     * Construtor da classe.
     */
    public GujHome() {

        super(BaseTesteFuncional.obterDriverAtual());
    }

    /**
     * Navega para a página principal do GUJ.
     * 
     * @return {@link GujHome}.
     */
    public GujHome navegarParaPrincipal() {

        comandos.abrir("http://www.guj.com.br");

        return obterProximaPagina(GujHome.class);
    }

    /**
     * Verifica se está na página principal do GUJ.
     * 
     * @return <tt>TRUE</tt> se estiver na página principal, <tt>FALSE</tt> caso contrário.
     */
    public boolean isPaginaPrincipal() {

        comandos.esperarElementoVisivel(lnkEntrar);
        return comandos.isElementoContemTexto(lnkEntrar, "Entrar");
    }

    /**
     * Tenta realizar login no GUJ.
     * 
     * @return {@link GujLogin}.
     */
    public GujLogin tentarLogin() {

        comandos.clicar(lnkEntrar);

        return obterProximaPagina(GujLogin.class);
    }
}
